package a_doubleWrite;

import util.TreeNode;

import java.util.ArrayDeque;
import java.util.Deque;

/**
 * 98. 验证二叉搜索树
 * 给定一个二叉树，判断其是否是一个有效的二叉搜索树。
 * <p>
 * 假设一个二叉搜索树具有如下特征：
 * <p>
 * 节点的左子树只包含小于当前节点的数。
 * 节点的右子树只包含大于当前节点的数。
 * 所有左子树和右子树自身必须也是二叉搜索树。
 *
 * @author: luolidong
 * @create: 2021-07-22 09:17
 * @version: 1.0
 */
public class L98 {
    private long preVal=Long.MIN_VALUE;
    public boolean isValidBST(TreeNode root) {
        if (root == null) return true;
        boolean l=isValidBST(root.left);
        if(root.val<=preVal) return false;
        preVal=root.val;
        boolean r=isValidBST(root.right);
        return l&&r;
    }
}
